﻿using DeZhen.DataCollection.Model.DTO.CollectionTemplate;
using DeZhen.DataCollection.Model.Enums;

namespace DeZhen.DataCollection.IService.CollectionTemplate
{
    public interface ICollectionTemplateService
    {
        Task<List<CollectionTemplateDropDownDTO>> GetDropDownListAsync();

        Task<List<TemplateParamSettingDTO>> GetTemplateParamSettingAsync(CollectionTypeEnum collectionType, long? templateId);
        Task<bool> SaveTemplateParamSettingAsync(SaveTemplateParamSetting input);
        Task<bool> ExistsTemplateParamSetting(QueryTemplateParamSetting param);
        Task<List<PreviewSqlDTO>> GetPreviewSqlListAsync(QueryTemplateParamSetting param);

        Task<bool> SaveCollectionTemplateAsync(CollectionTemplateAdd input);
        Task<bool> DeleteCollectionTemplateAsync(long templateId);
    }
}
